﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CourseUtils
{
    public static class IOHelpers
    {
        public static String ReadStringFromConsole(string displayText)
        {
            Console.WriteLine(displayText);
            String s = Console.ReadLine();
            return s;
        }

        public static void PrintString2Console(String str, string displayMas)
        {
            Console.Write(displayMas);
            Console.WriteLine(str);
        }

        public static int ReadIntFromConsole(string displayText)
        {
            String notParsedInt = ReadStringFromConsole(displayText);
            int result = 0;
            try
            {
                result = Int32.Parse(notParsedInt);
            }
            catch
            {
                Console.WriteLine("Ошибка ввода...");
                return ReadIntFromConsole(displayText);
            }
            return result;

        }

        public static int ReadIntFromConsole(string displayText, int minValue, int maxValue) //перегруженый метод с проверкой ОДЗ
        {
            int result = 0;
            do
            {
                result = ReadIntFromConsole(displayText);
                if (result < minValue || result > maxValue)
                {
                    Console.WriteLine("Введенное число не соответствует области допустимых значений");
                }
            } while (result < minValue || result > maxValue);

            return result;
        }
    }
}